2006/07/06

Recent entries from same category

  1. blosxom 2.1.0がリリースされました
  2. feedジェネレータとしてblosxomを使う
  3. blosxomでモブログ
  4. Jcode.pm動かずお茶を濁す。
  5. blosxom-xmlrpcを色んなブログツールに対応させる...その後

「出来ました」と報告しっぱなしでは、オープンソースに生きる人間としては失格かと思いましたので...

現在のblosxom-xmlrpc.cgiでは、世の中に出回っているブログツールに対応出来ていません。

先日は、sidebar.jpからの投稿が成功したという話で、setPostCategoriesがないというのが原因の一つでしたが、今回はgetPostCategoriesです。
このメソッドは、ブログツールが記事を投稿した後、記事のカテゴリを再設定する際に呼び出されます。何種類かのツールでは起動直後のアカウント設定にて、最新記事を取得します。この際、記事IDに対するカテゴリを取得する為にgetPostCategoriesが呼び出されます。

今回の対応で、「BlogWrite」と「ubicast Blogger」から記事が投稿出来ることが確認出来ました。
ただ、「ubicast Blogger」のほうは記事を投稿後、再度getPostCategoriesを実行しようとしているみたいで
newPost

setPostCategories

getPostCategories

といった呼び出し方をしてくれます。blosxomの様にフォルダ名がカテゴリになっているようなブログ、つまりsetPostCategoriesを実行すると記事IDが変わってしまうようなブログでは、今回書いた記事IDがsetPostCategoriesによって変更されてしまうことになります。
これについては、他に対応方法がないか検討してみます。

またgnome-blog-posterで画像付き記事が投稿されない件については、newMediaObjectの最終引数に渡すcontentのbitsが、base64でエンコードされた文字列そのままが入っていたのが原因でした。
xmlrpclib.Binaryクラスオブジェクトのdataメンバにバイナリを渡し、contentとしてそのオブジェクトを渡すと、うまく画像付き記事が投稿出来ました。

とりあえずWindows&Linux&Web&携帯から記事を投稿することが出来るようになりました。

めでたし、めでたし

blosxom-xmlrpc.cgiのソース差分:
gnome-blog-posterのソース差分:
Posted at by